Text messaging has become a popular mode of communication in many mobile (or wireless) networks. One example of text messaging is Short Message Service (SMS), which is a set of communication protocols allowing the exchange of short text messages (i.e., 160 characters or less) between devices. While the term “text message” traditionally referred to text-only messages sent using SMS, it has been extended to include multimedia messages, such as images, video, sound content, etc. The multimedia messages may be sent using Multimedia Message Service (MMS) protocol. Often times, mobile users more frequently use text messaging for communication than voice calls.
Although text messaging is traditionally thought of as two end users exchanging text messages through mobile devices, there may be automated applications (i.e., not a real person) that exchange text messages with an end user. As an example, an External Short Messaging Entity (ESME) is a device/server that includes an application which is able to send and/or receive text messages (e.g., SMS). An ESME connects to the network through a fixed connection using protocols such as Short Message Peer-to-Peer (SMPP) protocol, Universal Computer Protocol (UCP), RESTful, HTTP, Parlay, etc. Typical examples of ESMEs are servers that send automated marketing messages to mobile devices, voting systems that process votes via text message, etc.
To send a text message, an application encapsulates the text message in a signaling message of its protocol. The protocol may be proprietary or may be one commonly used in the industry, such as SMPP. A text message that is originated by an application in this manner is referred to herein as an Application-Originated (AO) text message. When the AO text message is being sent to a Session Initiation Protocol (SIP)-based network, such as an IP Multimedia Subsystem (IMS) or Long Term Evolution (LTE) network, the AO text message is passed through a gateway. This is assuming that the application does not have a SIP interface. The gateway converts the text message from the signaling protocol used by the application to a SIP request (e.g., SIP MESSAGE), and forwards the SIP request towards the destination (referred to as a recipient) over the SIP-based network.
The technical specifications of the 3rd Generation Partnership Project (3GPP and 3GPP2) have defined how text messages are exchanged over packet-switched networks using SIP, such as 3GPP Technical Specification (TS) 24.341. As part of these specifications, when a text message is delivered to a recipient, the recipient's device initiates a new SIP transaction to report back on the delivery success/failure of the text message. Thus, the recipient's device sends a new SIP request back to the gateway indicating the delivery success/failure of the text message.
Unfortunately, it is a problem to effectively correlate the multiple SIP transactions for an AO MT text message.